//-------------------------------------------------------------------------
/**
   File:   tagged.h

   Descr.: - todo -

   Author: Stefan Leihkauf
   Date:   31.08.2012
*/
//-------------------------------------------------------------------------
#ifndef _TAGGED_H
#define _TAGGED_H

#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>

class tagged
{
public:
	typedef boost::uuids::uuid tag_t;

	tagged()
		: _tag(boost::uuids::random_generator()())
	{ }

	tagged(tagged const& rhs)
		: _tag(rhs._tag)
	{ }

	bool operator == (tagged const& rhs) const {
		return _tag == rhs._tag;
	}

	const tag_t& getTag() const { return _tag; }

private:
	tag_t _tag;
};

#endif //!defined _TAGGED_H